Asynchronous messaging tags

ABSTRACT

A method includes receiving a message from a user device, determining whether the message includes a tag, identifying at least one interaction the user device performed with an application responsive to determining that the message includes the tag, calculating a difference between a time the message was received and a time associated with the at least one identified interaction, determining whether the difference between the time the message was received and the time associated with the at least one identified interaction is within a threshold value, and associating the tag with the application associated with the at least one interaction responsive to determining that the difference between the time the message was received and the time associated with the at least one identified interaction is within the threshold value.

BACKGROUND

The present invention relates to asynchronous messaging, and morespecifically, to tags associated with asynchronous messaging.

Though the functions of available mobile telephone devices continue toadvance, there are significant numbers of users who utilize mobiletelephone devices with limited functions or features. For example,millions of mobile telephone device users use simple mobile telephonedevices with voice and texting/short message service (SMS), but withlimited alternative communications features.

BRIEF SUMMARY

According to one embodiment of the present invention, a method includesreceiving a message from a user device, determining whether the messageincludes a tag, identifying at least one interaction the user deviceperformed with an application responsive to determining that the messageincludes the tag, calculating a difference between a time the messagewas received and a time associated with the at least one identifiedinteraction, determining whether the difference between the time themessage was received and the time associated with the at least oneidentified interaction is within a threshold value, and associating thetag with the application associated with the at least one interactionresponsive to determining that the difference between the time themessage was received and the time associated with the at least oneidentified interaction is within the threshold value.

According to another embodiment of the present invention, a methodincludes receiving a message from a user device, determining whether themessage includes a tag, identifying at least one interaction the userdevice performed with an application responsive to determining that themessage includes the tag, calculating a distance between a location themessage was sent from and a location associated with the at least oneidentified interaction, determining whether the distance between thelocation the message was sent from and the location associated with theat least one identified interaction is within a threshold value, andassociating the tag with the application associated with the at leastone interaction responsive to determining that the distance between thelocation the message was sent from and the location associated with theat least one identified interaction is within the threshold value.

According to yet another embodiment of the present invention, a systemincludes a user device, and a processor operative to receive a messagefrom a user device, determine whether the message includes a tag,identify at least one interaction the user device performed with anapplication responsive to determining that the message includes the tag,calculating a difference between a time the message was received and atime associated with the at least one identified interaction, determinewhether the difference between the time the message was received and thetime associated with the at least one identified interaction is within athreshold value, and associate the tag with the application associatedwith the at least one interaction responsive to determining that thedifference between the time the message was received and the timeassociated with the at least one identified interaction is within thethreshold value.

According to yet another embodiment of the present invention, a systemincludes a user device, and a processor operative to receive a messagefrom a user device, determine whether the message includes a tag,identify at least one interaction the user device performed with anapplication responsive to determining that the message includes the tag,calculate a distance between a location the message was sent from and alocation associated with the at least one identified interaction,determine whether the distance between the location the message was sentfrom and the location associated with the at least one identifiedinteraction is within a threshold value, and associate the tag with theapplication associated with the at least one interaction responsive todetermining that the distance between the location the message was sentfrom and the location associated with the at least one identifiedinteraction is within the threshold value.

Additional features and advantages are realized through the techniquesof the present invention. Other embodiments and aspects of the inventionare described in detail herein and are considered a part of the claimedinvention. For a better understanding of the invention with theadvantages and the features, refer to the description and to thedrawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The subject matter which is regarded as the invention is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The forgoing and other features, and advantages ofthe invention are apparent from the following detailed description takenin conjunction with the accompanying drawings in which:

FIG. 1 illustrates an exemplary embodiment of a system.

FIG. 2 illustrates a block diagram of an exemplary method for processingtags.

FIG. 3 illustrates an application usage table.

FIG. 4 illustrates an application table.

FIG. 5 illustrates a tag table.

FIG. 6 illustrates an application phone number table.

FIG. 7 illustrates a block diagram of another exemplary method forprocessing tags.

DETAILED DESCRIPTION

In many mobile telephone service areas, some users may utilize voicefeatures and texting or SMS features, but may not use other dataservices due to device or network limitations, or the cost of wirelessdata transmission over the networks. The illustrated embodimentsdescribed below allow a user to interact with a server in a session toperform a variety of tasks using text messaging or voice messagingfeatures. The interaction is asynchronous because the session includesmessages sent from a user device to a server or from a server to a userdevice without a constant connection (i.e., the communicative connectionbetween the server and the device is defined by individual discretemessages sent between the server and the device.) Though the illustratedembodiments describe texting or SMS services, one of ordinary skill inthe art would understand that any type similar messaging serviceincluding e-mail and instant messaging or voice messaging, which may bein some embodiments converted to textual messages or processed withvoice recognition methods may be used in a similar manner as describedbelow.

Tagging is a term used to describe assigning metadata to a data object,session, content or service. Tags often include, for example, a word orphrase that is associated with data to describe the data. Thus, forexample, tags such as “apples,” “produce,” or “fruit” may be associatedwith a session that is associated with a recipe for a salad. Inpractice, the tags may be used to search for data or identify datahaving particular tags. Often, tags may be entered and retrieved byusers of a tagging system.

In this regard, FIG. 1 illustrates an exemplary embodiment of a system100. The system 100 includes a server or processor 102 that iscommunicatively connected to a memory or database 104, a display device106, and an input device 108. The server 102 is communicativelyconnected to a user device 110 that may include, for example, a mobilephone or other type of user device via a communications network 101 thatmay include, for example any suitable communications network that iscapable of transmitting messages. The network 101 may also includeconversion or gateway devices that are operative to convert messages anddata into formats that may be processed by, the user device 110 and theserver 102. Though the illustrated embodiment includes one user device110, the system 100 may include any number of user devices 110. Theserver 102 is operative to receive messages sent from the user device110 that may be addressed to one or more phone numbers associated withthe server 102. For example, the user device may send a message to theserver 102 by addressing the message to a particular phone number. Theserver 102 receives the message that includes the phone number of thesender; the phone number that the message was sent to; and the contentof the message. The message may also include the time the message wassent, the location of the user device when the message was sent, orother information associated with the user device or message content.Though the illustrated embodiment includes the use of SMS messages andassociated phone numbers, one of ordinary skill in the art wouldunderstand that a similar scheme may be implemented using other types ofasynchronous messaging such as, for example, email or other messagingformats.

FIG. 2 illustrates a block diagram of an exemplary method for processingtags in an asynchronous data session. FIGS. 3-5 illustrate exemplaryembodiments of tables that may be used in the illustrated method. Thetables 300, 400, and 500 may be stored in the database 104 andmaintained by the server 102. Referring to FIG. 2, in block 202 anasynchronous data session is conducted between the user device 110 (ofFIG. 1) and the server 102. The session may include, for example, aseries of messages sent between the user device 110 and the server 102.In the illustrated embodiment, the sessions include the use of a recipeapplication (A1) and a coupon application (A2). In this regard, in anexemplary session, a user (U1) looks up a recipe for pancakes from therecipe application by sending a message to the server 102 from the userdevice 110. The server receives the message and sends a message having arecipe for pancakes to the user. Later, the user interacts with thecoupon application to retrieve a coupon for an item the user ispurchasing. The coupon application sends a message via the server 102 tothe user device 110 that includes the relevant coupon information.During the sessions described above, the tables in FIGS. 3 and 4 arepopulated.

Referring to FIG. 4, table 400 includes an application table having anapplication ID field 402 that includes unique identifiers ofapplications and an application description field 404 that includesdescriptions of the applications associated with the applicationidentifiers. Referring to FIG. 3, table 300 includes an applicationusage table having an application ID field 302 that includes the uniqueidentifier of an application, a user ID field 304 that includes a uniqueidentifier of the user and/or user device 110, a last user interactionfield 306 that includes a time stamp of the last interaction the userhad with the associated application, and a user location field 308 thatmay include a location of the user or user device 110 during theassociated interaction. Referring back to FIG. 2, in block 202 thesession the table 300 is populated with the user interactions, forexample, the interaction described above with the recipe application isentered into the table 300 in entry 301, while the interaction describedabove with the coupon application is entered into the table 300 in entry303. The entries in the table 300 may include a user location that maybe, for example, based on a global positioning system (GPS) or othertype of location scheme used by the user device 110 to locate a positionof the device. Thus, the messages processed by the server 102 mayinclude location data that identifies a location where the user device110 sent a message. In the illustrated embodiment, the table 300includes zip codes, however other location data including, for example,GPS coordinates or other similar location data may also be used.

In block 204, the server 102 receives a message from the user device110. In block 206, the server determines whether the message includes atag. The server 102 may make the determination by, for example,determining whether the message includes an indicator such as a word orphrase (e.g. “Tag:”). Alternatively, a phone number may be associatedwith tagging, such that the user enters tags into a message and sendsthe message to the phone number associated with tagging. Otheralternatives are possible, such as, for example, text analysis of themessage to extract words or phrases. Tags may be part of reviews orcomments added during or after an activity. The server 102 receives themessage addressed to the phone number associated with tagging and thus,identifies the data in the message as being tags. If the messageincludes a tag, a tagging service that may be implemented by the server102 determines whether the message meets time and/or location criteria.For example, the time that the tag message was sent from may bedetermined by header or other information in the message. The locationthat the tag message was sent from may be determined from softwareinstalled on the phone (e.g., a GPS receiver) or from header informationor other information in the message. The server 102 may use the messagedestination (phone number) from the SMS header to determine theapplication ID in the application phone number table 600. FIG. 6illustrates an application phone number table 600 that includes a phonenumber field 602 and an application ID field 604; and is populated withentries that associate a phone number with an application ID.

The server 102 uses the user ID to determine whether table 300 (of FIG.3) includes any application usage entries associated with the user ID.If there are application usage entries associated with the user ID (forexample. A1 and A2 are associated with User ID U1 in Table 300), thenthe server 102 may calculate for each retrieved application usage entry,a difference between the time the tag message was sent from the userdevice and the last user interaction time with the application IDretrieved from Table 300 and determine whether the difference is withina time threshold (e.g., 30 minutes). Alternate embodiments may includeseveral methods for setting the time threshold. For example, one methodmay determine the likely maximum time for users to tag after starting anactivity. For example, 90% of users complete shopping and tag within 30minutes. The location of the user device the tag message was sent frommay alternatively, or in conjunction with the time the message wasreceived be used to determine whether the tag message meets the locationcriteria. For example, the server 102 may calculate a distance betweenthe location the tag message was sent from, and the location in thetable 300 and compare the distance with a threshold distance (e.g., in asame zip code). Alternate embodiments may include a variety of ways ofsetting the location threshold. For example, determine the likelymaximum distance across which applications for an activity might be usedmay be determined. For example, 90% of users are likely to tag withinthe same zip code as the store. Thus, the user ID, time, and/or locationassociated with the tag message and relevant time and/or distancethresholds may be used to identify applications (i.e., application IDs)in the table 300. In block 208, the identified application(s) areassociated with the tag received in the tag message. In the illustratedexample, the user U1 sends a tag message to the server 102 that includesthe tag “Market.” If the tag message is sent from U1 at 1405-1-1-2011 inthe location 30040, the tag message would meet the criteria (i.e. iswithin an exemplary thirty minute time threshold, and sent from the samezip code 30040). In block 210, the applications A1 and A2 are identifiedand associated with the tag “Market,” and the associated tag is saved.FIG. 5 illustrates a table 500 that includes an application ID field 502and a tag field 504, which is populated in block 210 (of FIG. 2).

If the message does not contain a tag, then the user and applicationdata are tracked in table 300. As above, the time and/or location aredetermined. Then they are set into the last user interaction 306 anduser location 308 fields together. Alternatively, if this is the firsttime a message was sent to this application from this user (the user issubscribing), a new row is added.

FIG. 7 illustrates a block diagram of an exemplary method for retrievingtags performed by the system 100. In this regard, in block 702, theserver 102 receives a message from a user device 110. The message may bereceived from any user device 110. In block 704, the server 102determines whether the message includes a request for data that includesa tag. For example, the user device (U2) may send a message to theserver 102 that includes a request for data or applications associatedwith the tag “Market.” If the message does not include a tag, themessage may be processed for other relevant session activities in block706. If the message does include a request for data that includes a tag,the server 102 may use the table 500 (of FIG. 5) to identify applicationID(s) associated with the tag. In the illustrated embodiment, theapplication IDs A1 and A2 are associated with the tag “Market.” In caseswhere user tags do not match stored tags, various text processingtechniques may be used to determine a degree of match. For example,“Market” may match the tag “Markets” or “Supermarket”. In block 710, theserver 102 sends a message associated with the applications A1 and A2 tothe user device U2 110. In the illustrated embodiment, the message mayinclude the tagged recipe for pancakes and the coupon tagged by the userU1.

The system also allows the user to request the tags associated with agiven application (the ‘tag cloud’). It does this by processing amessage containing this request (“tags”) to the application (phonenumber). The server 102 then redirects this request to the taggingservice. The server 102 uses table 500 to retrieve the tags associatedwith the application and return them to the requesting user (phonenumber). The tags may be ordered alphabetically. Alternatively, tags maybe ordered by popularity, recency, and/or proximity.

The technical effects and benefits of the methods and systems describedabove, allow a user to associate tags with sessions and applications inan asynchronous messaging system. The system also allows a user toretrieve data or initiate sessions using the asynchronous messagingsystem.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon. Anycombination of one or more computer readable medium(s) may be utilized.The computer readable medium may be a computer readable signal medium ora computer readable storage medium. A computer readable storage mediummay be, for example, but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,or device, or any suitable combination of the foregoing. More specificexamples (a non-exhaustive list) of the computer readable storage mediumwould include the following: an electrical connection having one or morewires, a portable computer diskette, a hard disk, a random access memory(RAM), a read-only memory (ROM), an erasable programmable read-onlymemory (EPROM or Flash memory), an optical fiber, a portable compactdisc read-only memory (CD-ROM), an optical storage device, a magneticstorage device, or any suitable combination of the foregoing. In thecontext of this document, a computer readable storage medium may be anytangible medium that can contain, or store a program for use by or inconnection with an instruction execution system, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks. These computerprogram instructions may also be stored in a computer readable mediumthat can direct a computer, other programmable data processingapparatus, or other devices to function in a particular manner, suchthat the instructions stored in the computer readable medium produce anarticle of manufacture including instructions which implement thefunction/act specified in the flowchart and/or block diagram block orblocks. The computer program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other devicesto cause a series of operational steps to be performed on the computer,other programmable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. The flowchart and block diagrams in the Figuresillustrate the architecture, functionality, and operation of possibleimplementations of systems, methods and computer program productsaccording to various embodiments of the present invention. In thisregard, each block in the flowchart or block diagrams may represent amodule, segment, or portion of code, which comprises one or moreexecutable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of onemore other features, integers, steps, operations, element components,and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

The flow diagrams depicted herein are just one example. There may bemany variations to this diagram or the steps (or operations) describedtherein without departing from the spirit of the invention. Forinstance, the steps may be performed in a differing order or steps maybe added, deleted or modified. All of these variations are considered apart of the claimed invention.

While the preferred embodiment to the invention had been described, itwill be understood that those skilled in the art, both now and in thefuture, may make various improvements and enhancements which fall withinthe scope of the claims which follow. These claims should be construedto maintain the proper protection for the invention first described.

1. A method comprising: receiving a message from a user device;determining whether the message includes a tag; identifying at least oneinteraction the user device performed with an application responsive todetermining that the message includes the tag; calculating a differencebetween a time the message was received and a time associated with theat least one identified interaction; determining whether the differencebetween the time the message was received and the time associated withthe at least one identified interaction is within a threshold value; andassociating the tag with the application associated with the at leastone interaction responsive to determining that the difference betweenthe time the message was received and the time associated with the atleast one identified interaction is within the threshold value.
 2. Themethod of claim 1, wherein the method further includes: identifying asecond interaction the user device performed with a second applicationresponsive to determining that the message includes the tag; calculatinga difference between a time the message was received and a timeassociated with the second identified interaction; determining whetherthe difference between the time the message was received and the timeassociated with the second identified interaction is within a thresholdvalue; and associating the tag with the second application associatedwith the second interaction responsive to determining that thedifference between the time the message was received and the timeassociated with the second identified interaction is within thethreshold value.
 3. The method of claim 1, wherein the method furtherincludes: identifying a second interaction the user device performedwith a second application responsive to determining that the messageincludes the tag; calculating a difference between a location themessage was sent from and a location associated with the secondidentified interaction; determining whether the distance between thelocation the message was sent from and the location associated with thesecond identified interaction is within a threshold value; andassociating the tag with the second application associated with thesecond interaction responsive to determining that the distance betweenthe location the message was sent from and the location associated withthe second identified interaction is within the threshold value.
 4. Themethod of claim 1, wherein the tag includes a textual word entry.
 5. Themethod of claim 1, wherein the method further includes: receiving amessage from at least one user device; determining whether the messageincludes a request for data associated with the tag; identifying theapplication associated with the tag responsive to determining that themessage includes a request for data associated with the tag; and sendingservice data associated with the application to the user device.
 6. Themethod of claim 3, wherein the method further includes: receiving amessage from at least one user device; determining whether the messageincludes a request for data associated with the tag; identifying theapplications associated with the tag responsive to determining that themessage includes a request for data associated with the tag; and sendingservice data associated with the applications to the user device.
 7. Amethod comprising: receiving a message from a user device; determiningwhether the message includes a tag; identifying at least one interactionthe user device performed with an application responsive to determiningthat the message includes the tag; calculating a distance between alocation the message was sent from and a location associated with the atleast one identified interaction; determining whether the distancebetween the location the message was sent from and the locationassociated with the at least one identified interaction is within athreshold value; and associating the tag with the application associatedwith the at least one interaction responsive to determining that thedistance between the location the message was sent from and the locationassociated with the at least one identified interaction is within thethreshold value.
 8. The method of claim 7, wherein the method furtherincludes: identifying a second interaction the user device performedwith a second application responsive to determining that the messageincludes the tag; calculating a difference between a time the messagewas received and a time associated with the second identifiedinteraction; determining whether the difference between the time themessage was received and the time associated with the second identifiedinteraction is within a threshold value; and associating the tag withthe second application associated with the second interaction responsiveto determining that the difference between the time the message wasreceived and the time associated with the second identified interactionis within the threshold value.
 9. The method of claim 7, wherein themethod further includes: identifying a second interaction the userdevice performed with a second application responsive to determiningthat the message includes the tag; calculating a difference between alocation the message was sent from and a location associated with thesecond identified interaction; determining whether the distance betweenthe location the message was sent from and the location associated withthe second identified interaction is within a threshold value; andassociating the tag with the second application associated with thesecond interaction responsive to determining that the distance betweenthe location the message was sent from and the location associated withthe second identified interaction is within the threshold value.
 10. Themethod of claim 7, wherein the tag includes a textual word entry. 11.The method of claim 7, wherein the method further includes: receiving amessage from at least one user device; determining whether the messageincludes a request for data associated with the tag; identifying theapplication associated with the tag responsive to determining that themessage includes a request for data associated with the tag; and sendingservice data associated with the application to the user device.
 12. Themethod of claim 9, wherein the method further includes: receiving amessage from at least one user device; determining whether the messageincludes a request for data associated with the tag; identifying theapplications associated with the tag responsive to determining that themessage includes a request for data associated with the tag; and sendingservice data associated with the applications to the user device.
 13. Asystem comprising: a user device; and a processor operative to receive amessage from a user device, determine whether the message includes atag, identify at least one interaction the user device performed with anapplication responsive to determining that the message includes the tag,calculating a difference between a time the message was received and atime associated with the at least one identified interaction, determinewhether the difference between the time the message was received and thetime associated with the at least one identified interaction is within athreshold value, and associate the tag with the application associatedwith the at least one interaction responsive to determining that thedifference between the time the message was received and the timeassociated with the at least one identified interaction is within thethreshold value.
 14. The system of claim 13, wherein the processor isfurther operative to identify a second interaction the user deviceperformed with a second application responsive to determining that themessage includes the tag, calculate a difference between a time themessage was received and a time associated with the second identifiedinteraction, determine whether the difference between the time themessage was received and the time associated with the second identifiedinteraction is within a threshold value, and associate the tag with thesecond application associated with the second interaction responsive todetermining that the difference between the time the message wasreceived and the time associated with the second identified interactionis within the threshold value.
 15. The system of claim 13, wherein theprocessor is further operative to identify a second interaction the userdevice performed with a second application responsive to determiningthat the message includes the tag, calculate a difference between alocation the message was sent from and a location associated with thesecond identified interaction, determine whether the distance betweenthe location the message was sent from and the location associated withthe second identified interaction is within a threshold value, andassociate the tag with the second application associated with the secondinteraction responsive to determining that the distance between thelocation the message was sent from and the location associated with thesecond identified interaction is within the threshold value.
 16. Thesystem of claim 13, wherein the tag includes a textual word entry. 17.The system of claim 13, wherein the processor is further operative toreceive a message from at least one user device, determine whether themessage includes a request for data associated with the tag, identifythe application associated with the tag responsive to determining thatthe message includes a request for data associated with the tag, andsend service data associated with the application to the user device.18. The system of claim 15, wherein the processor is further operativeto receive a message from at least one user device, determine whetherthe message includes a request for data associated with the tag,identify the applications associated with the tag responsive todetermining that the message includes a request for data associated withthe tag, and send service data associated with the applications to theuser device.
 19. A system comprising: a user device; and a processoroperative to receive a message from a user device, determine whether themessage includes a tag, identify at least one interaction the userdevice performed with an application responsive to determining that themessage includes the tag, calculate a distance between a location themessage was sent from and a location associated with the at least oneidentified interaction, determine whether the distance between thelocation the message was sent from and the location associated with theat least one identified interaction is within a threshold value, andassociate the tag with the application associated with the at least oneinteraction responsive to determining that the distance between thelocation the message was sent from and the location associated with theat least one identified interaction is within the threshold value. 20.The system of claim 19, wherein the processor is further operative toidentify a second interaction the user device performed with a secondapplication responsive to determining that the message includes the tag,calculate a difference between a time the message was received and atime associated with the second identified interaction, determiningwhether the difference between the time the message was received and thetime associated with the second identified interaction is within athreshold value, and associate the tag with the second applicationassociated with the second interaction responsive to determining thatthe difference between the time the message was received and the timeassociated with the second identified interaction is within thethreshold value.
 21. The system of claim 19, wherein the processor isfurther operative to identify a second interaction the user deviceperformed with a second application responsive to determining that themessage includes the tag, calculate a difference between a location themessage was sent from and a location associated with the secondidentified interaction, determine whether the distance between thelocation the message was sent from and the location associated with thesecond identified interaction is within a threshold value, and associatethe tag with the second application associated with the secondinteraction responsive to determining that the distance between thelocation the message was sent from and the location associated with thesecond identified interaction is within the threshold value.
 22. Thesystem of claim 19, wherein the tag includes a textual word entry. 23.The system of claim 19, wherein the processor is further operative toreceive a message from at least one user device, determine whether themessage includes a request for data associated with the tag, identifythe application associated with the tag responsive to determining thatthe message includes a request for data associated with the tag, andsend service data associated with the application to the user device.24. The system of claim 21, wherein the processor is further operativeto receive a message from at least one user device, determine whetherthe message includes a request for data associated with the tag,identify the applications associated with the tag responsive todetermining that the message includes a request for data associated withthe tag, and send service data associated with the applications to theuser device.
 25. An article of manufacture tangibly embodying computerreadable instructions which, when implemented, cause a computer to carryout the steps of a method according to claim
 1. 26. An article ofmanufacture tangibly embodying computer readable instructions which,when implemented, cause a computer to carry out the steps of a methodaccording to claim 7.